home *** CD-ROM | disk | FTP | other *** search
Wrap
GW-BASIC | 1997-01-29 | 7.7 KB | 258 lines
10 'QUAD - Quad Antenna - 17 MAY 94 - rev. 29 SEP 96 20 IF EX$=""THEN EX$="EXIT" 30 CLS:KEY OFF 40 COLOR 7,0,1 50 U$="###,###.###" 60 U1$="###,###.##" 70 U2$="###,###" 80 UL$=STRING$(80,205) 90 ' 100 '.....start 110 CLS 120 COLOR 15,2 130 PRINT " QUAD ANTENNA DIMENSIONS";TAB(57);"by George Murphy VE3ERP "; 140 COLOR 1,0:PRINT STRING$(80,223); 150 COLOR 7,0 160 GOSUB 2070 'print text 170 PRINT UL$; 180 COLOR 0,7:LOCATE CSRLIN,22 190 PRINT " Press 1 to continue or 0 to EXIT....." 200 COLOR 7,0 210 Z$=INKEY$:IF Z$=""THEN 210 220 IF Z$="0"THEN CLS:RUN EX$ 230 IF Z$="1"THEN 250 240 GOTO 210 250 VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3 260 GOSUB 2380 'preface 270 PRINT UL$; 280 PRINT " Press number in < > to choose standard units of measure:" 290 PRINT UL$; 300 PRINT " < 1 > Metres" 310 PRINT " < 2 > Decimal feet" 320 PRINT " < 3 > Decimal inches" 330 Z$=INKEY$ 340 IF Z$="1"THEN M=1:M$=" m. ":GOTO 380 350 IF Z$="2"THEN M=2:M$=" ft.":GOTO 380 360 IF Z$="3"THEN M=3:M$=" in.":GOTO 380 370 GOTO 330 380 VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3 390 ' 400 '.....frequency 410 INPUT " ENTER: Centre frequency of band (MHz)..............";F 420 LOCATE CSRLIN-1:IF F=0 THEN 410 430 PRINT " Frequency of operation......................";USING U$;F; 440 PRINT " MHz" 450 ' 460 '.....wavelength 470 WL=300/F 'wavelength in free space (metres) 480 PRINT " Wavelength of operation.....................";USING U$;WL; 490 PRINT " m." 500 PRINT 510 ' 520 '.....long wire 530 LW=984*(1-0.025)/F 'length of full wave long wire (feet) 540 MT=LW*0.3048:IF M=1 THEN Y=MT 'wire length in metres 550 FT=LW: IF M=2 THEN Y=FT 'wire length in feet 560 IN=FT*12: IF M=3 THEN Y=IN 'wire length in inches 570 Y=INT(Y*10^3+0.5)/10^3 580 PRINT " Length of a full wave long wire.............";USING U$;Y; 590 PRINT M$ 600 ' 610 '.....conductor size 620 PRINT 630 PRINT " Press number in < > to describe element material: 640 PRINT " < 1 > AWG gauge Wire" 650 PRINT " < 2 > Tubing" 660 PRINT " < 3 > Rod or non-AWG wire" 670 Z$=INKEY$ 680 IF VAL(Z$)>=1 AND VAL(Z$)<=3 THEN 700 690 GOTO 670 700 LN=CSRLIN-5:VIEW PRINT LN TO 24:CLS:VIEW PRINT:LOCATE LN 710 IF M=1 THEN X$="(mm.)"ELSE X$="(in.)" 720 ' 730 IF Z$="1"THEN 740 ELSE 820 740 INPUT " ENTER: AWG gauge of wire.......................AWG#";G 750 LOCATE CSRLIN-1:IF G=0 THEN 740 760 K=(0.46/0.005)^(1/39) 770 V=0.46/K^(G+3) 780 G$=STR$(G):G$=RIGHT$(G$,LEN(G$)-1) 790 C$="#"+G$+" AWG wire" 800 GOTO 940 810 ' 820 IF Z$="2"THEN 830 ELSE 890 830 PRINT " ENTER: Diameter of tubing ";X$;"...................";:INPUT V 840 IF M=1 THEN V=V/25.4 850 LOCATE CSRLIN-1:IF V=0 THEN 830 860 C$=" tubing" 870 GOTO 940 880 ' 890 PRINT " ENTER: Diameter of rod or wire ";X$;"..............";:INPUT V 900 IF M=1 THEN V=V/25.4 910 LOCATE CSRLIN-1:IF V=0 THEN 890 920 C$=" rod/wire" 930 ' 940 IF M=1 THEN D=V*25.4 ELSE D=V 'D=conductor diameter in inches 950 IF M=1 THEN X$=" mm." ELSE X$=" in." 960 PRINT " Diameter of conductor.......................";USING U$;D; 970 PRINT X$;C$; 980 ' 990 '.....correction factors 1000 CD=IN/D:IF M=1 THEN CD=MT*10^3/D 1010 PRINT " Long Wire length-to-diameter ratio..........";USING U1$;CD; 1020 PRINT ":1" 1030 SF=(LOG(CD/6*2.54))/LOG(10)*4.66 1040 PRINT " Shape factor................................";USING U$;SF 1050 CF=1+0.4/SF+3/SF^2 1060 CF=INT(CF*10^3+0.5)/10^3 1070 PRINT " Long-Wire-to-loop correction factor.........";USING U$;CF 1080 ' 1090 '.....driven element 1100 IF M=1 THEN DE=CF*MT 'metres 1110 IF M=2 THEN DE=CF*FT 'feet 1120 IF M=3 THEN DE=CF*IN 'inches 1130 PRINT 1140 PRINT " DRIVEN element, loop circumference..........";USING U$;DE; 1150 PRINT M$ 1160 DS=DE/4 'one side of square 1170 PRINT " DRIVEN element, each side...................";USING U$;DS; 1180 PRINT M$ 1190 DD=SQR(2*DS^2) 1200 PRINT " DRIVEN element diagonal.....................";USING U$;DD; 1210 PRINT M$ 1220 PRINT " RENUM diagonal.....................";USING U$;DD/2; 1230 PRINT M$ 1240 ' 1250 '.....reflector element 1260 IF F>30 THEN R=1.05 ELSE R=1.025 1270 RE=DE*R 1280 PRINT 1290 PRINT " REFLECTOR element, loop circumference.......";USING U$;RE; 1300 PRINT M$ 1310 RS=RE/4 'one side of square 1320 PRINT " REFLECTOR element, each side................";USING U$;RS; 1330 PRINT M$ 1340 RD=SQR(2*RS^2) 1350 PRINT " REFLECTOR element diagonal..................";USING U$;RD; 1360 PRINT M$ 1370 PRINT " RENUM diagonal..................";USING U$;RD/2; 1380 PRINT M$ 1390 ' 1400 '.....spacing 1410 A=WL*0.15:B=WL*0.25 'min.& max.spacing in metres 1420 IF M=1 THEN MIN=A:MAX=B 'metres 1430 IF M=2 THEN MIN=A/0.3048:MAX=B/0.3048 'feet 1440 IF M=3 THEN MIN=A/0.0254:MAX=B/0.0254 'inches 1450 PRINT 1460 PRINT " Minimum spacing between elements............";USING U1$;MIN; 1470 PRINT M$ 1480 PRINT " Maximum spacing between elements............";USING U1$;MAX; 1490 PRINT M$ 1500 GOSUB 2450 1510 ' 1520 '.....diagram 1530 VIEW PRINT 3 TO 24:CLS:VIEW PRINT 1540 LOCATE 4:J=13 'column 1550 COLOR 0,7 1560 LOCATE ,J:PRINT" " 1570 LOCATE ,J:PRINT" CALLDEFSNGSOUNDSOUNDSOUNDSOUND D SOUNDSOUNDSOUNDSOUNDDEFDBLCALL CALLDEFSNGSOUNDSOUNDSOUNDSOUND R SOUNDSOUNDSOUNDSOUNDDEFDBLCALL CALLDEFSNGSOUNDSOUNDSOUND S SOUNDSOUNDSOUNDDEFDBLCALL " 1580 LOCATE ,J:PRINT" CALL each side CALL CALL each side CALL CALL Element CALL " 1590 LOCATE ,J:PRINT" dVARPTRSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDCOLOR rVARPTRSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDCOLOR Spacing " 1600 LOCATE ,J:PRINT" CALL CALL CALL CALL CALL CALL " 1610 LOCATE ,J:PRINT" CALL Driven CALL CALL Reflector CALL CALLDEFSNGdriven CALL " 1620 LOCATE ,J:PRINT" CALL CALL CALL CALL PSETTHENTHENTHENTHENBoomTHENTHENTHEN<0xB5!> " 1630 LOCATE ,J:PRINT" CALL Element CALL CALL Element CALL CALL reflectorDEFDBLCALL " 1640 LOCATE ,J:PRINT" CALL CALL CALL CALL CALL CALL " 1650 LOCATE ,J:PRINT" CLSSOUNDSOUNDSOUNDSOUNDSOUNDCOLOR VARPTRSOUNDSOUNDSOUNDSOUNDSOUND'd CLSSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND'r " 1660 LOCATE ,J:PRINT" " 1670 COLOR 7,0 1680 PRINT 1690 PRINT TAB(12)" Configuration shown is for horizontal polarity." 1700 PRINT TAB(12)" Do you want to configure for vertical polarity? (y/n)" 1710 Z$=INKEY$ 1720 IF Z$="y"THEN P$="VERTICALLY":GOTO 1750 1730 IF Z$="n"THEN P$="HORIZONTALLY":GOTO 1820 1740 GOTO 1710 1750 COLOR 0,7:LOCATE 9 1760 LOCATE ,J+1:PRINT "SOUND'" 1770 LOCATE ,J+1:PRINT " " 1780 LOCATE ,J+1:PRINT "SOUNDCOLOR" 1790 LOCATE 13,J+8:PRINT "SOUNDSOUNDSOUND" 1800 COLOR 7,0 1810 ' 1820 '.....complete screen printing 1830 VIEW PRINT 16 TO 24:CLS:VIEW PRINT:LOCATE 3 1840 P$=P$+" POLARIZED 2-ELEMENT QUAD ANTENNA for"+STR$(F)+" MHz" 1850 PRINT TAB(J)P$ 1860 T=24 1870 LOCATE 16 1880 ' 1890 PRINT TAB(T)"D.... =";USING U$;DS;:PRINT M$;" (loop ="; 1900 LD=INT(DE*100+0.5)/100 1910 PRINT LD;:PRINT RIGHT$(M$,3);C$;")" 1920 PRINT TAB(T-9)"diagonal d-d.. =";USING U$;DD;:PRINT M$ 1930 ' 1940 PRINT TAB(T)"R.... =";USING U$;RS;:PRINT M$;" (loop ="; 1950 LR=INT(RE*100+0.5)/100 1960 PRINT LR;RIGHT$(M$,3);C$;")" 1970 PRINT TAB(T-9)"diagonal r-r.. =";USING U$;RD;:PRINT M$ 1980 ' 1990 PRINT TAB(T)"S min.=";USING U1$;MIN;:PRINT M$ 2000 PRINT TAB(T)"S max.=";USING U1$;MAX;:PRINT M$ 2010 PRINT 2020 PRINT TAB(8); 2030 PRINT "Feed directly with 50-75- coax. Adjust spacing S for minimum SWR." 2040 GOSUB 2450 2050 GOTO 100 'start 2060 ' 2070 '.....text 2080 T=(8) 'tab 2090 PRINT TAB(T); 2100 PRINT "Most published design data for quad antennas determine the length 2110 PRINT TAB(T); 2120 PRINT "of the elements by dividing an empirical number (usually in the 2130 PRINT TAB(T); 2140 PRINT "order of 1005 or thereabouts) by the frequency in MHz to arrive at 2150 PRINT TAB(T); 2160 PRINT "the length of the element in feet. Dimensions are not critical, as 2170 PRINT TAB(T); 2180 PRINT "the quad is relatively broad in frequency response, therefore 2190 PRINT TAB(T); 2200 PRINT "element lengths calculated by this method are usually adequate. 2210 PRINT TAB(T); 2220 PRINT 2230 PRINT TAB(T); 2240 PRINT "More precise dimensions can be calculated from raw data but seldom 2250 PRINT TAB(T); 2260 PRINT "are, due to the complex mathematics involved. This program utilizes 2270 PRINT TAB(T); 2280 PRINT "the mathematical rather than the empirical method of calculation to 2290 PRINT TAB(T); 2300 PRINT "design quads that do not require pruning and can be fed directly 2310 PRINT TAB(T); 2320 PRINT "with 50-75 ohm coax with no baluns, stubs or matching line sections. 2330 PRINT TAB(T); 2340 PRINT "Matching is accomplished simply by adjusting element spacing for 2350 PRINT TAB(T); 2360 PRINT "minimum SWR. 2370 RETURN 2380 ' 2390 '.....preface 2400 OPEN"I",1,"\data\docfiles\antenna.doc" 2410 IF EOF(1)THEN 2430 2420 INPUT#1,NOTE$:PRINT " ";NOTE$:GOTO 2410 2430 CLOSE:RETURN 2440 ' 2450 'HARDCOPY 2460 GOSUB 2570:LOCATE 25,2:COLOR 14,6 2470 PRINT " Press 1 to print screen, 2 to print screen & "; 2480 PRINT "advance paper, or 3 to continue.";:COLOR 7,0 2490 Z$=INKEY$:IF Z$="3"THEN GOSUB 2570:RETURN 2500 IF Z$="1"OR Z$="2"THEN GOSUB 2570:GOTO 2520 2510 GOTO 2490 2520 FOR QX=1 TO 24:FOR QY=1 TO 80 2530 LPRINT CHR$(SCREEN(QX,QY)); 2540 NEXT QY:NEXT QX 2550 IF Z$="2"THEN LPRINT CHR$(12) 2560 GOTO 2460 2570 LOCATE 25,1:PRINT STRING$(80,32);:RETURN